<?php

/**
 * Created by PhpStorm.
 * User: yanshinian@yeah.net
 * Date: 2019/5/22
 * Time: 17:51.
 * pdd.ddk.goods.recommend.get
 */
class DdkGoodsRecommendGetRequest
{
    /**
     * @var INTEGER  0-1.9包邮, 1-今日爆款, 2-品牌清仓,3-相似商品推荐,4-猜你喜欢,5-实时热销,6-实时收益,7-今日畅销,8-高佣榜单，默认1
     */
    private $channel_type;
    /**
     * @var int  自定义参数，为链接打上自定义标签；自定义参数最长限制64个字节；格式为： {"uid":"11111","sid":"22222"} ，其中 uid 用户唯一标识，可自行加密后传入，每个用户仅且对应一个标识，必填； sid 上下文信息标识，例如sessionId等，非必填。该json字符串中也可以加入其他自定义的key
     */
    private $custom_parameters;
    /**
     * @var INTEGER 请求数量；默认值 ： 400
     */
    private $limit;
    /**
     * @var STRING  请求数量；默认值 ： 400
     */
    private $list_id;
    /**
     * @var INTEGER  从多少位置开始请求；默认值 ： 0，offset需是limit的整数倍，仅支持整页翻页
     */
    private $offset;
    /**
     * @var STRING  推广位id
     */
    private $pid;
    /**
     * @var LONG  猜你喜欢场景的商品类目，20100-百货，20200-母婴，20300-食品，20400-女装，20500-电器，20600-鞋包，20700-内衣，20800-美妆，20900-男装，21000-水果，21100-家纺，21200-文具,21300-运动,21400-虚拟,21500-汽车,21600-家装,21700-家具,21800-医药;
     */
    private $cat_id;
    /**
     * @var LONG 相似商品推荐场景时必传。商品Id，请求相似商品时，仅取数组的第一位
     */
    private $goods_ids;
    /**
     * @var INTEGER 默认100，每页商品数量
     */

    private $apiParas = array();

    public function setChannelType($channel_type)
    {
        $this->channel_type = $channel_type;
        $this->apiParas['channel_type'] = $channel_type;
    }

    public function getChannelType()
    {
        return $this->channel_type;
    }

    public function setCustomParameters($custom_parameters)
    {
        $this->custom_parameters = $custom_parameters;
        $this->apiParas['custom_parameters'] = $custom_parameters;
    }

    public function getCustomParameters()
    {
        return $this->custom_parameters;
    }

    public function setLimit($limit)
    {
        $this->limit = $limit;
        $this->apiParas['limit'] = $limit;
    }

    public function getLimit()
    {
        return $this->limit;
    }

    public function setListId($list_id)
    {
        $this->list_id = $list_id;
        $this->apiParas['list_id'] = $list_id;
    }

    public function getListId()
    {
        return $this->list_id;
    }

    public function setOffset($offset)
    {
        $this->offset = $offset;
        $this->apiParas['offset'] = $offset;
    }

    public function getOffset()
    {
        return $this->offset;
    }

    public function setPid($pid)
    {
        $this->pid = $pid;
        $this->apiParas['pid'] = $pidpid;
    }

    public function getPid()
    {
        return $this->pid;
    }

    public function setCatId($cat_id)
    {
        $this->cat_id = $cat_id;
        $this->apiParas['cat_id'] = $cat_id;
    }

    public function getCatId()
    {
        return $this->cat_id;
    }
   

    public function getApiMethodName()
    {
        return 'pdd.ddk.goods.recommend.get';
    }

    public function getApiParas()
    {
        return $this->apiParas;
    }

    public function check()
    {
        
    }

    public function putOtherTextParam($key, $value)
    {
        $this->apiParas[$key] = $value;
        $this->$key = $value;
    }
}
